package org.jeecg.modules.monitoring.j_monitoring.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 全局搜索
 * @Author: xiaoyq
 * @Date:   2023-01-11
 * @Version: V1.0
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="所有设备", description="所有设备")
public class AllSearch implements Serializable {
    private static final long serialVersionUID = 1L;


	/**id;主键*/
	@TableId(type = IdType.ASSIGN_ID)
	@ApiModelProperty(value = "id;主键")
	private String id;
	/**设备名称*/
	@Excel(name = "设备名称", width = 15)
	@ApiModelProperty(value = "设备名称")
	private String name;
	/**设备型号*/
	@Excel(name = "设备型号", width = 25)
	@ApiModelProperty(value = "设备型号")
	private String model;
	/**设备序列号*/
	@Excel(name = "设备序列号", width = 25)
	@ApiModelProperty(value = "设备序列号")
	private String equipmentSerialNumber;
	/**设备序列号*/
	@Excel(name = "资源类别", width = 25)
	@ApiModelProperty(value = "资源类别")
	private String resourceType;

	/**资产编号*/
	@Excel(name = "资产编号", width = 20)
	@ApiModelProperty(value = "资产编号")
	private String assetNo;
	/**设备编号*/
	@Excel(name = "设备编号", width = 25)
	@ApiModelProperty(value = "设备编号")
	private String equipmentNo;
	/**使用状态*/
	@Excel(name = "使用状态", width = 15)
	@ApiModelProperty(value = "使用状态")
	@Dict(dicCode = "j_syzt")
	private String usageStatus;
	/**责任人*/
	@Excel(name = "责任人", width = 15)
	@ApiModelProperty(value = "责任人")
	private String personLiable;
	/**责任人Id*/
	@ApiModelProperty(value = "责任人id")
	private String personLiableId;
	/**设备类型*/
	@Excel(name = "设备类型", width = 15)
	@ApiModelProperty(value = "设备类型")
	private String equipmentClassification;
	/**维保开始时间*/
	@Excel(name = "维保开始时间", width = 15)
	@ApiModelProperty(value = "维保开始时间")
	private String installDate;
	/**投产时间*/
	@Excel(name = "投产时间", width = 15)
	@ApiModelProperty(value = "投产时间")
	private String productionDate;
	/**维保结束时间*/
	@Excel(name = "维保结束时间", width = 15)
	@ApiModelProperty(value = "维保结束时间")
	private String expiryDateOfMaintenance;
	/**供应商*/
	@Excel(name = "供应商", width = 15)
	@ApiModelProperty(value = "供应商")
	private String deviceSupplier;
	/**供应商*/
	@ApiModelProperty(value = "供应商id")
	private String deviceSupplierId;
	/**品牌(制造商)*/
	@Excel(name = "品牌(制造商)", width = 15)
	@ApiModelProperty(value = "品牌(制造商)")
	private String deviceProducer;
	/**品牌(制造商)id*/
	@ApiModelProperty(value = "品牌(制造商)id")
	private String deviceProducerId;
	/**合同编号*/
	@Excel(name = "合同编号", width = 15)
	@ApiModelProperty(value = "合同编号")
	private String contractNo;
	/**设备用途*/
	@Excel(name = "设备用途", width = 15)
	@ApiModelProperty(value = "设备用途")
	@Dict(dicCode = "j_sbyt")
	private String purpose;
	/**管理IP*/
	@Excel(name = "管理IP", width = 15)
	@ApiModelProperty(value = "管理IP")
	private String manageIp;

	/**设备IP*/
	@Excel(name = "设备IP", width = 15)
	@ApiModelProperty(value = "设备IP")
	private String deviceIp;

	/**是否监测*/
	@Excel(name = "是否监测", width = 15)
	@ApiModelProperty(value = "是否监测")
	@Dict(dicCode = "j_sfjc")
	private String whetherToMonitor;
	/**所属区域*/
	@Excel(name = "所属区域", width = 15)
	@ApiModelProperty(value = "所属区域")
	private String region;
	/**regionId*/
	@ApiModelProperty(value = "区域id")
	private String regionId;
	/**所属机房*/
	@Excel(name = "所属机房", width = 15)
	@ApiModelProperty(value = "所属机房")
	private String machineRoom;
	/**machineRoomId*/
	@ApiModelProperty(value = "机房Id")
	private String machineRoomId;
	/**所属机柜*/
	@Excel(name = "所属机柜", width = 15)
	@ApiModelProperty(value = "所属机柜")
	private String cabinet;
	/**cabinetId*/
	@ApiModelProperty(value = "机柜id")
	private String cabinetId;
	/**高度(U)*/
	@Excel(name = "高度(U)", width = 15)
	@ApiModelProperty(value = "高度(U)")
	private BigDecimal height;

	/**维保商*/
	@Excel(name = "维保商", width = 15)
	@ApiModelProperty(value = "维保商")
	private String deviceExpiry;
	/**维保商id*/
	@ApiModelProperty(value = "维保商")
	private String deviceExpiryId;

	@TableField(exist = false)
	private String monitorStatus;

	/**备注*/
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
	private String remarks;

}
